Repositioning rotating peripheral- devices

ABSTRACT

TO EVALUATE COMPUTER SYSTEM PERFORMANCE, SOFTWARE TECHNIQUES ARE FREQUENTLY USED TO COLLECT DATA ON THE SYSTEM AS IT RUNS, AND/OR TO SIMULATE NEW DEVICES. HOWEVER, DATA COLLECTING, SIMULATING AND REPORT WRITING PROCEDURES DEGRADE THE PERFORMANCE OF THE SYSTEM ON WHICH THEY ARE RUN AND THEREFORE PROVIDE DISTORTED RESULTS. THE TECHNIQUE HEREIN IS DESIGNED TO HIDE THE OVERHEAD PROCEDURE FROM THE PERFORMANCE OF THE SYSTEM BY USING PRIOR ART PROCEDURES IN STOPPING THE SYSTEM CLOCK WHENEVER AN OVERHEAD PROGRAM IS BEING EXECUTED, AND ADDING TO THAT A TECHNIQUE FOR COMPENSATING FOR DISTORTION IN THE I/O AREA BY INTERCEPTING AND RESCHEDULING I/O INTERRUPTS TO COMPENSATE FOR THE &#34;STOLEN&#34; TIME DURING WHICH THE SYSTEM CLOCK IS STOPPED, AND FURTHER DELAYING THE SCHEDULING OF THE I/O OPERATION TO COMPENSATE FOR CHANGES IN POSITION OF ROTATING PERIPHERAL DEVICES DURING THE &#34;STOLEN&#34; PERIOD.   THE PROCEDURE INVOLVES THE DETERMINATION OF THE ACTUAL POSITION OF A ROTATING PERIPHERAL DEVICE RELATIVE TO ITS EXPECTED POSITION EITHER BY COMPARING POSITIONS OR BY COMPARING ACTUAL ROTATING TIME TO EXPECTED ROTATING TIME. FROM THIS INFORMATION, TOGETHER WITH KNOWLEDGE OF THE ROTATIONAL RATE, A COMPUTATION OF THE LENGTH OF TIME DURING WHICH AN I/O OPERATION MUST BE DELAYED MAY BE MADE SO THAT THE ACTUAL AND EXPECTED POSITIONS ARE IN ALIGNMENT UPON EXECUTION OF THE DELAYED I/O OPERATIONS.

DEFENSIVE PUBLICATION UNITED STATES PATENT OFFICE Published at the request of the applicant or owner in accordance with the Notice of Dec. 16, 1969. S69 0.6. 887. The abstracts of Defensive Publication applications are identified by distinctly numbered series and are arranged chronologically. The heading of each abstract indicates the number or pages of specification, including claims and sheets or drawings contained in the application as originally filed. The files of these applications are available to the public for inspection and reproduction may be purchased for 30 cents a sheet.

no assertion as to the novelty of the disclosed subject matter.

Defensive Publication applications have not been examined as to the merits oi! alleged invention. The Patent Oflice maker PUBLISHED APRIL 9, 197i .S. Cl.

14 Sheets Drawing. 37 Pages Specification mm cm. it 1m m M mum: sum insnwcnol sun (sworn in: sums: mu: Willi! cmuulxt svsm's SlSlllS mum! mam: tumJlB um mm [NE tuvsw m Alli-hill tum I SUH v Slvtll I?! ill I IISlIlIClIDIl To evaluate computer system performance, software techniques are frequently used to collect data on the system as it runs, and/or to simulate new devices. However, data collecting, simulating and report writing procedures degrade the performance of the system on which they are run and therefore provide distorted results. The technique herein is designed to hide the overhead procedure from the performance of the system by using prior art procedures in stopping the system clock whenever an overhead program is being executed, and adding to that a technique for compensating for distortion in the I/O area by intercepting and rescheduling -I/O interrupts to compensate for the stolen time during which the system clock is stopped, and further delaying the scheduling of the 1/0 operation to compensate for changes in position of rotating peripheral devices during the stolen period.

The procedure involves the determination of the actual position of a rotating peripheral device relative to its expected position either by comparing positions or by comparing actual rotating time to expected rotating time. From this information, together with knowledge of the rotational rate, a computation of the length of time during which an I/O operation must be delayed may be made so that the actual and expected positions are in alignment upon execution of the delayed I/O operation.

P 9, 1974 G. A. DAVISON REPOSITIONING ROTATING PERIPHERAL DEVICES l4 Sheets-Sheet 1 FEOI SYSTEM CLOCK CPU MAIN

MEMORY CHANNEL CONTROL DEVICE DEVICE I/IO' DEVICE P 1974 G. A. DAVISON T921,009

RFPOSITIONING ROTATING PERIPHERAL DEVICES Original Filed Jan. 18, 1972 14 Sheets-Sheet 4 I/O TRAPPED ENTRY E ENTERGTO T HETNTEER7 I INITIATOR WITH 1/0 TTPERATToAT CONTROL BLOCK RESULTING T I I I l FROM AN OPERATING SYSTEM |ATTEMPTED (AND TRAPPED) T L 1/0 oPERATToN IS I/O OPERATIONS QUEUE ENPTY wATT TASK T l F* *fi AN 1/0 TNTERRUPT WM RETURN CONTROL T0 HIGHEST EVENTUALLY CAUSE CONTROL PR SELECTABLE K P l T P EJ E E B l JLJ GTARTTITTJTIRE E AvETT R ORDER THAT LATER INTERRUPTS AN R D AC URATELY 0 BE ESCHEDULE C APYIII 9, 1974 cs. A. DAVISON T921,009

REPOSITIONING ROTATING PERIPHERAL DEVICES Original Filed Jan. 18, 1972 14 Sheets-Sheet 5 FIG 3 ,/I32 I95 SAVE smus 0F CURRENTLY MASK INTERCEPTOR ACTIVE TASK INTERRUPTS' REQUEST ENTRY I I PLACE CONTROL BLOCK on I 1/0 OPERATIONS OUEUE I I I I35 I IEN TER 1/0 SCHEDULER/ I I I lNlTolrITgoRNTwRlgH l /g gPER-I ATI L L L I YES REAL TEM 1/0 OPERATION RECORD CHANNEL STATUS BUSY I RESULTING FROM AN INTER- {34 I CEPTOR REQUEST FOR AN I /0 OPERATION I J REAL CONTROL UNIT STATUS= BUSY DEVICE STATUS= BUSY ' OPERATIONS OUEUE IF nus IS AN OPERATING SYS- I THE STARTI NC TIME IN THE I/O I L OPERATION CONTROL BLOCK RECORD REAL STATUS OF AND FLAG THE ASSOCIATED CHANNEL, CONTROL UNIT, AND TASK I PRESENTLY FLACCED DEVICE TO REFLECT START NOT SELECTABLE") AS INSTRUCTION JUST EXECUTED "SELECTABLE" April 9, 1974 Original Filed Jan. 18, 1972 G. A. DAVISON REPOSITIONING ROTATING PERIPHERAL DEVICES INTER YES SYSTEM OR IN TERCEPTOR ISSUED N0 ROTATING DEVICE l4 Sheets-Sheet 6 FIG. 3c

CALCULATE DELAY TIME NEEDED TO ALLOW DEVICE T0 ROTATE mro POSITION DELAY=P (ER-E5 )MOD P UNMASK INTERRUPTS AND PROCESS ANY THAT OCCUR DURING DELAY TI ME (BLOCK 403 I PER FICA WAIT THE DELAY TIME 405 MASK INTERRUPTS 404 START REQUESTED m 1/0 OPERATION HAS DELAY TIME BEEN EXCEEDED Apr-ii 9, 1974 (5. A. DAVISON T921,009

REPOSITIONING ROTATiNG PERIPHERAL DEVICES Original. Filfld Jan. 18, 1972- 14 Sheets-Sheet 7 I I 150 RECORD CHANGE TR REAL STATUS 1/0 INTERRUPT 0F CHANNEL,CON TROL UNIT AND DEVICE v TE MPORARILY 151 STOP SAVE VALUE OF) SYSTEM'S HARDWARE CLOCK WAS OPERATING SYSTEM OR IN TERcEPToR 'NTER ACTIVE PERMANENTLY SAVE VALUE STORED AT BLOCK 151 SAVE RETURN PT 0T. 7 MODIFY RETURN PT AT BLOCK BLOCK 152 SEPARATELY 152 TO'POINT T0 BLOCK 164 (H62) AI'EN 1974 DAWSON I T921,009

IKE-POSITIONING ROTATING PERIPHERAL DEVICES Original Filed Jan. 18, 1972 l4 Sheets-Sheet 8 FIG. 4b

IS I/O OPERATION COMPLETE BUILD I/O INTERRUPT CONTROL SET INDICATOR TO SHOW THAT BLOCK FOR USE IN RESCHEDULING INTERCEPTOR'S I/O OPERATION THIS INTERRUPT HAS BEEN COMPLETED I IOT COMPUTE SIMULATED TTME THAT MuST ELAPSE BEFORE INTERRUPT 160 IS PRESENTED TO THE OPERATING SYSTEM: DELTA= ER E3 '(ER,SI0 S,SI0

' STORE IN 10108 CALL FUTURE EVENT SCHEDULER 161 FIG. 5) & PASS IT THE I /O INTERRUPT CONTROL BLOCK YES ApriI 1974 G. A. DAVISON T921909 REPOSITIONING ROTATING PERIPHERAL DEVICES Original. Filed Jan. 18, 1972 .14 Sheets-Sheet 9 FIGS ENTER FUTURE EVENT I-A HITDRFEVENFGDIWRDTREDGY SCHEDULE ROUTINE |IS PAssED As AN ARGuMENT T0 THIS SUBROUTINE,WHICH MAIN- ITAINS A CHAIN 0F FUTURE EvENT |CTRL. BLOCKSTHE CHAIN IS I ORDERED AGGDRDING To THE TIME AT WHICH THE EVENTS I ADD CURRENT ELAPSED SIMULATED L L NE E E E J TIME TD DELTA TIME (FOUND IN FUTURE EvENT CONTROL BLOCK) To GET TIME AT WHICH TMIs FUTURE EvENT IS DUE TO DGGDR I INSERT THE NEW FUTURE EVENT CTRL. BLOCK AT THE APPROPRIATE POINT IN THE CHAIN 0F FUTURE ITI EVENT CONTROL BLOCKS WAS IT INSERTED AS FIRST IN CHAIN Aprfifi 9, 1974 G. A. DAVISON T921909 REPOSITIONING ROTATING PERIPHERAL DEVICES Original Fild Jan. 18, 1972 I I4 Shets-Sheet 10 HARDWARE CLOCK INTERRUPT WAS INTERCEPTOR IN CONTROL STOP (STORE VALUE OF) THE SYSTEM CLOCK RETIIRN To PT 0F INTERRUPTION SAVE STATUS OF INTERRUPTEO TASK INCLUDING RETURN PT] REMOVE FIRST EVENT FROM CHAIN 0F FUTURE EVENTS. IT IS DUE TO OCCUR NOW I83 CALL APPROPRIATE ROUTINE T0 HANDLE THIS TYPE OF FUTURE EvENT I SEE Fl 0. T) 84 NEW FIRST EVENT DUE TO OCCUR AT SAME TIME AS THIS- LAST ONE YES COMPUTE TIME REMAINING UNTIL NEw FIRST EvENT IS DUE To OCCUR. SET UP HARDWARE CLOCK 'TO GENERATE INTERRU PT AFTER THAT MUCH TIME HAS ELAPSED EXIT P 9, 1974 G. A. DAVISON T921,009

REPOSITIONING ROTATING PERIPHERAL DEVICES Original Filed Jan. 18, 1972 I 1L4 Sheets-Sheet 11 FIG. 7

RESCHEDULED I/O INTERRUPT PROCESSOR NovE a SAVE RETURN PT FOUND IN BLOCK I82 I90 I MODIFY RETURN PT AT BLOCK 182 TO ADDRESS THE SYSTEMS INTERRUPT HANDLER PREPARE SAVED INTERRUPT INFORMATION FOUND IN IOICB INCLUDING RETURN POINT Io INTER RUPED ROUTINE \492 FREE IOICB \493 RETURN TO F|G.6

AT BLOCK185 ApriT 9, 1974 DAVISON 192L009 REPQSITIONING ROTATING PERIPHERAL DEVICES Original Filed Jan. 18, 1972 1,4 Sheets-Sheet 12 a IOICB TEBCHN X-OOI USED FOR CHAI NING BLOCKS TOGETHER TEBTME CONTAINS DELTA TIME WHEN BUILT LATER CONTAINS SIMULATED TIME vOF INTERRUPT TEBRTN ADDRESS OF ROUTINE TO PROCESS EVENT WHEN IT OCCURS IOIGBCW CSW FOR I/O INTERRU PT CSW (CONTINUED IOICBDVC IOICBFB UNIT ADDRESS OF FLAGS NQT USED INTERRUPTING DEVICE FIG.90

IOOCB I FORMAT FOR 08 OPERATION FROM TRAPPED SIO) CPCBCHN RESERVED FOR 1/0 SCHEDULER T0 CHAIN IOIGB'S TOGETHER CPCBFLGS NOT USED FLAGS NOT USED CPCBCAW 1 0 PROTECT CHANNEL PROGRAM ADDRESS KEY CPCBRTIM VALUE OF REAL TIME CLOCK AT SlO-VALUE 0F SIMULATED TIME CLOCK AT SIO (ER,510E5,3I0)

P g, 1974 G. A. DAVISON T921,009

REPOSITIONING ROTATING PERIPHERAL DEVICES Original Filed Jan. 18, 1972 14 Sheets-Sheet 15 IOOCB (FORMAT FOR INTERCEPTOR I/O OPERATIONS) cPcBSEIIS CPCBCHN SENSE DATA CPCBFLGS CPCBECB SENSE DATA FLAGS RELATIVE ECB NUMBER cPcBcAw I/O PROTECT. CHANNEL PROGRAM ADDRESS KEY 'CPCBCSW I c S w c S w CPCBPCT PC I APPENDAGE- ROUTINE ADDRESS NOT USED OPTIONAL FIG. 10 MB I DEVICE CONTROL BLOC K DVCBCHN x POINTER To LCB 0R IOOCB DVGBUNAD DVCBFLGS UNIT ADDRESS FLAGS DVGBCOCB DVCBROT DVCBHASH coca ROTATION TIMING I HASH POINTER POINTER POINTER T BELOW IS AN ALTERNATE FORMAT OF THE DVCBCHN FIELD DVCBECB X'FF' NOT USED RELATIVE ECB NUMBER Aprii 9, 7 G. A. DAVISON T921,o09

REPOSITIONING ROTATING PERIPHERAL DEVICES Original Filed Jan 18, 1972 14 Sheets-Sheet 14 CHCB CHAN N EL CONTROL BLOCK EF 'T POINTER T0 4sr PENDING IOICB CHCBFLGS CHCBSIMB CHOBOS oncsr n CHANNEL SIMULATED susv, REALLY BUSY, FLAGS SIMULATED REALLY BUSY, INTERCEPTOR INTERRUPT usen LAST BUSY EXPECTED, 0s USED LAST CHCBQLEN cucasm CHCBOUB CHANNEL QUEUE svsnzm MASK CONTROL UNIT LENGTH BIT FOR CHANNEL BLOCKAGE coum,

CHCBQ CHANNEL QUEUE ENTRY NUMBER OF QUEUE ENTRIES one FOR 03 one FOR EACH INTER CEPTOR DEVICE COCB (CONTROL UNIT CONTROL BLOCK) COCBLBID POINTER TO A CHAIN 0F IOICB'S FOR LOCKED BID KEYS COCBFLGS COCBBASE COCBFLGX FLAGS CONTROL UNIT FLAGS BASE ADDRESS 

